package org.wx.herostory.services.processor.async;

/**
 * @description: 耗时操作的接口
 * @author: wangxun
 * @createDate: 2021/3/4
 * @version: 1.0
 */
public interface IAsyncOperation {
    /**
     * 执行任务
     */
    void doAsync();

    /**
     * 执行结果后的处理
     */
    default void doFinish(){

    }

    /**
     * 返回绑定的ID
     * 实现类可以自定义返回的ID
     * 主要的作用是让一个任务，在同一个线程池中执行
     * 因为线程池是单线程的，所以不会造成线程安全问题
     * @return
     */
    default int getBindId(){
        return 0;
    }
}
